package com.gopay.cashier.web.command;

import com.gopay.common.cipher.utils.LoggerMaskUtils;
import com.gopay.common.domain.BaseEntity;
import com.gopay.common.domain.cashier.PayWay;
import org.apache.commons.lang.StringUtils;

/**
 * Created by HJY on 2015/5/6.
 */
public class ExpressPayChannelCommand extends PayChannelCommand {

    private String exPayBankCode;
    private String exPayChannel;
    private String bankCardNo;

    private String exValidDate;
    private String exCvn2;
    private String exHolder;
    private String exIdCardNo;
    private String exMobileNo;

    /**
     * 快捷支付
     */
    private BankPayWay exPayWay;
    private String exGopayAcctId;
    private String exCardId;

    /**
     * 付款支付密码
     */
    private String payPassword;
    /**
     * 新产生的充值交易ID
     */
    private String inChargeOrderId;

    /**
     * 短信验证码
     */
    private String exSmsCode;

    /**
     * 身份证后六位
     */
    private String exIdCardNo6;

    private String errId;
    private String errMsg;
    
    /**
     * 动态口令卡的错误信息
     */
    private String dcErrMsg;



    public String getExPayBankCode() {
        return exPayBankCode;
    }

    public void setExPayBankCode(String exPayBankCode) {
        this.exPayBankCode = exPayBankCode;
    }

    public String getExPayChannel() {
        return exPayChannel;
    }

    public void setExPayChannel(String exPayChannel) {
        this.exPayChannel = exPayChannel;
    }

    public String getBankCardNo() {
        if(StringUtils.isNotBlank(bankCardNo))
            return bankCardNo.replaceAll(" ","");
        return bankCardNo;
    }

    public void setBankCardNo(String bankCardNo) {
        this.bankCardNo = bankCardNo;
    }

    public String getExValidDate() {
        return exValidDate;
    }

    public void setExValidDate(String exValidDate) {
        this.exValidDate = exValidDate;
    }

    public String getExCvn2() {
        return exCvn2;
    }

    public void setExCvn2(String exCvn2) {
        this.exCvn2 = exCvn2;
    }

    public String getExHolder() {
        return exHolder;
    }

    public void setExHolder(String exHolder) {
        this.exHolder = exHolder;
    }

    public String getExIdCardNo() {
        return exIdCardNo;
    }

    public void setExIdCardNo(String exIdCardNo) {
        this.exIdCardNo = exIdCardNo;
    }

    public String getExMobileNo() {
        return exMobileNo;
    }

    public void setExMobileNo(String exMobileNo) {
        this.exMobileNo = exMobileNo;
    }

    public BankPayWay getExPayWay() {
        return exPayWay;
    }

    public void setExPayWay(BankPayWay exPayWay) {
        this.exPayWay = exPayWay;
    }

    public String getExGopayAcctId() {
        return exGopayAcctId;
    }

    public void setExGopayAcctId(String exGopayAcctId) {
        this.exGopayAcctId = exGopayAcctId;
    }

    public String getExCardId() {
        return exCardId;
    }

    public void setExCardId(String exCardId) {
        this.exCardId = exCardId;
    }

    public String getPayPassword() {
        return payPassword;
    }

    public void setPayPassword(String payPassword) {
        this.payPassword = payPassword;
    }

    public String getInChargeOrderId() {
        return inChargeOrderId;
    }

    public void setInChargeOrderId(String inChargeOrderId) {
        this.inChargeOrderId = inChargeOrderId;
    }

    public String getExSmsCode() {
        return exSmsCode;
    }

    public void setExSmsCode(String exSmsCode) {
        this.exSmsCode = exSmsCode;
    }

    public String getExIdCardNo6() {
        return exIdCardNo6;
    }

    public void setExIdCardNo6(String exIdCardNo6) {
        this.exIdCardNo6 = exIdCardNo6;
    }

    public String getErrMsg() {
        return errMsg;
    }

    public void setErrMsg(String errMsg) {
        this.errMsg = errMsg;
    }

    public String getErrId() {
        return errId;
    }

    public void setErrId(String errId) {
        this.errId = errId;
    }

	public String getDcErrMsg() {
		return dcErrMsg;
	}

	public void setDcErrMsg(String dcErrMsg) {
		this.dcErrMsg = dcErrMsg;
	}

	@Override
	public String toString() {
		return "ExpressPayChannelCommand [exPayBankCode=" + exPayBankCode + ", exPayChannel=" + exPayChannel
				+ ", bankCardNo=" + LoggerMaskUtils.maskString(bankCardNo) + ", exValidDate=" + exValidDate +  ", exHolder="
				+ exHolder + ", exIdCardNo=" + LoggerMaskUtils.maskString(exIdCardNo) + ", exMobileNo=" + LoggerMaskUtils.maskString(exMobileNo) + ", exPayWay=" + exPayWay
				+ ", exGopayAcctId=" + exGopayAcctId + ", exCardId=" + exCardId + ", payPassword=" + "******"
				+ ", inChargeOrderId=" + inChargeOrderId + ", exSmsCode=" + exSmsCode + ", exIdCardNo6=" + exIdCardNo6
				+ ", errId=" + errId + ", errMsg=" + errMsg + ", dcErrMsg=" + dcErrMsg + "]";
	}
	
	

}
